package com.ueip.backend.pojo;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigInteger;
import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Clue {
    @TableId(type = IdType.AUTO)
    private Integer id;
    private Integer pid;
    private Integer cid;
    private BigInteger sid;
    private String studentName;
    private Integer uid;
    private String qq;
    private String phoneNum;
    private String email;
    private String landline;
    private String admissionTicket;
    private String idNum;
    private Integer firstChoice;
    private Integer firstMajor;
    private Integer secondChoice;
    private Integer secondMajor;
    private Integer candidateType;
    private String address;
    private String remark;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    private Date entryTime;
    private Integer reported;
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    private Date reportedTime;
    private Integer notification;
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String notificationNumber;
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    private Date notificationCreateTime;


    public Clue(Integer id, Integer pid, Integer cid, BigInteger sid, String studentName, Integer uid, String qq,
                String phoneNum, String email, String landline, String admissionTicket, String idNum,
                Integer firstChoice, Integer firstMajor, Integer secondChoice, Integer secondMajor,
                Integer candidateType, String address, String remark, Date entryTime, Integer reported, Date reportedTime, Integer notification, String notificationNumber, Date notificationCreateTime) {
        this.id = id;
        this.pid = pid;
        this.cid = cid;
        this.sid = sid;
        this.studentName = studentName;
        this.uid = uid;
        this.qq = qq;
        this.phoneNum = phoneNum;
        this.email = email;
        this.landline = landline;
        this.admissionTicket = admissionTicket;
        this.idNum = idNum;
        this.firstChoice = firstChoice;
        this.firstMajor = firstMajor;
        this.secondChoice = secondChoice;
        this.secondMajor = secondMajor;
        this.candidateType = candidateType;
        this.address = address;
        this.remark = remark;
        this.entryTime = entryTime;
        this.reported = reported;
        this.reportedTime = reportedTime;
        this.notification = notification;
        this.notificationNumber = notificationNumber;
        this.notificationCreateTime = notificationCreateTime;
    }

    private transient String pName;
    private transient String cName;
    private transient String sName;

}
